﻿Public Class AMB_Marca

    Dim acceso As New acceso
    Dim esNuevo As Boolean
    Dim comando As New SqlClient.SqlCommand
    Dim Marca As New Marca()

    Private Sub cargarGrilla()
        Dim tabla As New Data.DataTable()
        tabla = acceso.leo_tabla("Marca")
        dgv_Marca.DataSource = tabla
        acomodarGrilla()
    End Sub

    Private Sub acomodarGrilla()
        dgv_Marca.Columns("idMarca").HeaderText = "Numero de Tipo Producto"
        dgv_Marca.Columns("idMarca").Width = 60
        dgv_Marca.Columns("nombre").HeaderText = "Nombre"
    End Sub

    Private Sub dgv_Marca_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgv_Marca.Click
        txt_id_marca.Text = dgv_Marca.SelectedRows(0).Cells("idMarca").Value
        txt_nombre_marca.Text = dgv_Marca.SelectedRows(0).Cells("nombre").Value
        esNuevo = False

    End Sub

    Public Sub insertMarca(ByVal Marca As Marca)
        Dim sql As String
        sql = "Insert INTO Marca (nombre) VALUES (@nombre)"
        comando = New Data.SqlClient.SqlCommand
        comando.Parameters.AddWithValue("@nombre", Marca._nombre)
        acceso.ejecutarActualizaciones(sql, comando)

    End Sub

    Public Sub updateMarca(ByVal Marca As Marca)
        Dim sql As String
        sql = "UPDATE Marca SET nombre = @nombre where idMarca = @idMarca"
        comando = New Data.SqlClient.SqlCommand
        comando.Parameters.AddWithValue("@nombre", Marca._nombre)
        comando.Parameters.AddWithValue("@idMarca", Marca._idMarca)
        acceso.ejecutarActualizaciones(sql, comando)
    End Sub

    Private Sub btn_nuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_nuevo.Click
        esNuevo = True
        blanquear()
    End Sub

    Private Sub blanquear()
        txt_id_marca.Text = ""
        txt_nombre_marca.Focus()
        txt_nombre_marca.Text = ""
    End Sub

    Private Sub btn_salir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_salir.Click
        'If MessageBox.Show("¿ Desea salir del ABM Marca ?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
        Me.Close()
        'End If
    End Sub

    Private Sub btn_guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_guardar.Click
        'Validaciones
        If txt_nombre_marca.Text = "" Then
            MessageBox.Show("El campo Nombre no puede estar vacio", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            txt_nombre_marca.Focus()
            Return
        End If




        Marca._nombre = txt_nombre_marca.Text

        If esNuevo = True Then
            insertMarca(Marca)
            cargarGrilla()
            blanquear()
            MessageBox.Show("Nueva marca cargada con exito", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Else
            Marca._idMarca = txt_id_marca.Text
            updateMarca(Marca)
            cargarGrilla()
            blanquear()
            MessageBox.Show("Marca actualizada con exito", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If


    End Sub

    Private Sub btn_eliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_eliminar.Click
        If dgv_Marca.SelectedRows.Count <> 0 Then
            Marca._idMarca = dgv_Marca.CurrentRow.Cells("idMarca").Value
            Marca._nombre = dgv_Marca.CurrentRow.Cells("nombre").Value
            If MessageBox.Show("Esta seguro que desea eliminar la marca: " & Marca._nombre, "ATENCION", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = Windows.Forms.DialogResult.Yes Then
                deleteMarca(Marca)
                cargarGrilla()
                blanquear()
            End If
        End If
    End Sub
    Public Sub deleteMarca(ByVal Producto As Marca)
        Dim sql As String
        sql = "Delete Marca where idMarca = @idMarca"
        comando = New Data.SqlClient.SqlCommand
        comando.Parameters.AddWithValue("@idMarca", Marca._idMarca)
        acceso.ejecutarActualizaciones(sql, comando)


    End Sub


    Private Sub AMB_Marca_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        cargarGrilla()
        esNuevo = True
    End Sub
End Class